/*
 * Positionable.h
 *
 *  Created on: 24/05/2014
 *      Author: javier
 */

#ifndef POSITIONABLE_H_
#define POSITIONABLE_H_

enum ModelObject {
	BOMBERMAN_WHITE,
	BOMBERMAN_BLACK,
	BOMBERMAN_RED,
	BOMBERMAN_PURPLE,
	BOMBERMAN_GREEN,
	BOMBERMAN_YELLOW,
	ZOMBIE_GREEN,
	ZOMBIE_BLUE,
	ZOMBIE_RED,
	PLANT,
	BOMB,
	BOX,
	METAL,
	GROUND,
	BOMBERMAN_SPAWN,
	ZOMBIE_SPAWN,
	EXPLOSION // No se instancia directamente en el modelo, es propio de la vista
};

class Positionable {
public:
	Positionable(int id, double x, double y, ModelObject type);
	double getX();
	double getY();
	virtual ~Positionable();
	void setX(double x);
	void setY(double y);
	int getId();
	ModelObject getModelObjectType();
private:
	double x, y;
	ModelObject type;
	int id;
};

#endif /* POSITIONABLE_H_ */
